﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Client1.localhost;
using System.Windows.Forms.DataVisualization.Charting;


namespace Client1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }


        private void Form1_Load(object sender, EventArgs e)
        {

            try
            {
                //Instacia Objetos
                Service1 srv = new Service1();
                List<Relatorio> lista = new List<Relatorio>();
                List<Avaliacao> listaAval = new List<Avaliacao>();

                /**
                 * ######### VISAO CONSULTA ##############################################3
                 */

                List<string> ano = new List<string>();

                ano = srv.retornaAno().ToList();
                
                foreach(string a in ano){

                    checkedListBox1.Items.Add(a);
                
                }



                
                //Lista recebe consulta por MEDICO
                lista = srv.qtdConsulta("medico").ToList();

                //Preenche ListView
                foreach (Relatorio r in lista)
                {
                    ListViewItem item = lvConsMed.Items.Add(r.Descricao);
                    item.SubItems.Add(r.Quantitativo.ToString());
                }


                //Grafico de Médico
                List<Relatorio> grafico = new List<Relatorio>();
                List<string> lista2 = new List<string>();
                lista2.Add("1");
                lista2.Add("1");
                lista2.Add("1");
               // grafico = srv.qtdConsultaMedico("medico",lista2.ToArray()).ToList();
               // chart1.DataSource = grafico;


                //Grafico de Convenio
                List<Relatorio> graficoConv = new List<Relatorio>();
                graficoConv = srv.qtdConsulta("convenio").ToList();
                chart4.DataSource = graficoConv;


                //Lista recebe consulta por ESPECIALIDADE
                lista = srv.qtdConsulta("especialidade").ToList();

                //Preenche ListView
                foreach (Relatorio r in lista)
                {
                    ListViewItem item = lvConsEsp.Items.Add(r.Descricao);
                    item.SubItems.Add(r.Quantitativo.ToString());
                }


                // Grafico Status
                List<Relatorio> grafconsulta = new List<Relatorio>();
                grafconsulta = srv.qtdConsulta("status").ToList();
                chart3.DataSource = grafconsulta;


                //Lista recebe consulta por PACIENTE
                lista = srv.qtdConsulta("paciente").ToList();

                //Preenche ListView
                foreach (Relatorio r in lista)
                {
                    ListViewItem item = lvPacCon.Items.Add(r.Descricao);
                    item.SubItems.Add(r.Quantitativo.ToString());
                }

                //Lista recebe consulta por ESPECIALIDADE
                lista = srv.qtdEspecialidade().ToList();

                //Preenche ListView
                foreach (Relatorio r in lista)
                {
                    ListViewItem item = lvMedEsp.Items.Add(r.Descricao);
                    item.SubItems.Add(r.Quantitativo.ToString());
                }

                listaAval = srv.avaliacao().ToList();

                foreach (Avaliacao a in listaAval)
                {
                    ListViewItem item = lvMedAva.Items.Add(a.Nome);
                    item.SubItems.Add(a.Pontualidade.ToString());
                    item.SubItems.Add(a.Atencao.ToString());
                    item.SubItems.Add(a.Polidez.ToString());
                    item.SubItems.Add(a.Clareza.ToString());
                    item.SubItems.Add(a.Recomend.ToString());

                }

                //lbTotPac.Text = srv.quantidade("paciente").ToString();
                lbTotMed.Text = srv.quantidade("medico").ToString();

                lbMedia.Text = (srv.quantidade("agregadoconsulta") / srv.quantidade("medico")).ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

        private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            Service1 srv = new Service1();
            List<string> mes = new List<string>();

            mes = srv.retornaMes(checkedListBox1.SelectedItem.ToString()).ToList();
           
            foreach (string m in mes)
            {
                checkedListBox2.Items.Add(m);

            }
        }

        private void checkedListBox3_SelectedIndexChanged(object sender, EventArgs e)
        {

            

        }

        private void checkedListBox2_SelectedIndexChanged(object sender, EventArgs e)
        {

            Service1 srv = new Service1();
            List<string> dia = new List<string>();

            dia = srv.retornaDia(checkedListBox1.SelectedItem.ToString(), checkedListBox2.SelectedItem.ToString()).ToList();
            checkedListBox3.Items.Clear();
            foreach (string d in dia)
            {
                checkedListBox3.Items.Add(d);

            }
            

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Service1 srv = new Service1();

            List<Relatorio> lista = new List<Relatorio>();

            //lista = srv.filtro();   
        }

        

       




    }
}
